package uade.distribuidas.repo.dto;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import uade.distribuidas.repo.type.EnvioType;
import uade.distribuidas.repo.type.EstadoFacturaType;

public class FacturaDTO  implements Serializable{

	private static final long serialVersionUID = 1L;


	private Integer id;
	
	
	private String numero;
	
	private ClienteDTO cliente;
	
	private Date emision;
	
	private EnvioType envio;
	
	
	private EstadoFacturaType estado;
	
	
	private RemitoODVDTO remito;
	
	private String tipoPago;
	
	private Date vencimiento;
	
	private List<ItemFacturaDTO> items;
	
	private float total;
	
	private List<CondicionVentaDTO> condiciones;	
	
	public FacturaDTO() {
		super();
		// TODO Auto-generated constructor stub
	}
	public ClienteDTO getCliente() {
		return cliente;
	}
	public void setCliente(ClienteDTO cliente) {
		this.cliente = cliente;
	}
	public Date getEmision() {
		return emision;
	}
	public void setEmision(Date emision) {
		this.emision = emision;
	}
	public EnvioType getEnvio() {
		return envio;
	}
	public void setEnvio(EnvioType envio) {
		this.envio = envio;
	}
	public EstadoFacturaType getEstado() {
		return estado;
	}
	public void setEstado(EstadoFacturaType estado) {
		this.estado = estado;
	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public RemitoODVDTO getRemito() {
		return remito;
	}
	public void setRemito(RemitoODVDTO remito) {
		this.remito = remito;
	}
	public String getTipoPago() {
		return tipoPago;
	}
	public void setTipoPago(String tipoPago) {
		this.tipoPago = tipoPago;
	}
	public Date getVencimiento() {
		return vencimiento;
	}
	public void setVencimiento(Date vencimiento) {
		this.vencimiento = vencimiento;
	}
	public List<ItemFacturaDTO> getItems() {
		return items;
	}
	public void setItems(List<ItemFacturaDTO> items) {
		this.items = items;
	}
	public float getTotal() {
		return total;
	}
	public void setTotal(float total) {
		this.total = total;
	}

	public List<CondicionVentaDTO> getCondiciones() {
		return condiciones;
	}
	public void setCondiciones(List<CondicionVentaDTO> condiciones) {
		this.condiciones = condiciones;
	}
	public String getNumero() {
		return numero;
	}
	public void setNumero(String numero) {
		this.numero = numero;
	}
	public void calcularTotal() {
		for (ItemFacturaDTO i : this.items) {
			this.total +=i.getPrecioUnidad()*i.getCantidad();
		}
		
	}
    
    
    
}
